// $u.mixin.js

import { mapState } from 'vuex'
import store from "@/store"

// 尝试将用户在根目录中的store/index.js的vuex的state变量，全部加载到全局变量中
let $uStoreKey = [];
try{
	$uStoreKey = store.state ? Object.keys(store.state) : [];
}catch(e){
	
}

module.exports = {
	created() {
		// 将vuex方法挂在到$u中
		// 使用方法为：如果要修改vuex的state中的user.name变量为"史诗" => uni.$u.vuex('user.name', '史诗')
		this.$u.vuex = (name, value) => {
			this.$store.commit('$uStore', {
				name,value
			})
		}
	},
	computed: {
		// 将vuex的state中的所有变量，解构到全局混入的mixin中
		...mapState($uStoreKey)
	},
	methods: {
	    toPage(url,params){
	        uni.$u.route({
	            url: url,
	            params: params
	        })
	    },
		// 检测是否登录
		        checkAuth(){
		            if(this.vuex_token==''){
		                // 记录上次访问页面
					
		                let pages = getCurrentPages()
		                let currentPage = pages[pages.length - 1]
		                console.log(currentPage)
		                this.$u.vuex('vuex_lastPage', {'url':currentPage.route,'params':currentPage.options})
		                uni.redirectTo({url:'/pages/public/login'})
							// uni.$u.toast("请登录后再进行操作！")
		            }
		        },
	}
}